﻿/*
* Copyright (C) 2020 ~ 2024 chaigec All Rights Reserved.
*
* Author:     chaigec <chaigec@163.com>
* Maintainer: chaigec <chaigec@163.com>

 * Use of this source code is governed by MIT license that can be found in the
 * LICENSE file in the root of the source tree. All contributing project authors
 * may be found in the AUTHORS file in the root of the source tree.
*/

#ifndef MK_PTZ_CONTROL_H
#define MK_PTZ_CONTROL_H
#include "MkGbUtil.h"

class MkApi CGbPtzCommand
{
public:
    CGbPtzCommand();
    ~CGbPtzCommand();
    Uint32 ToGbString(OUT MkString &OutString);
    static CGbPtzCommand *FromString(const MkString &GbCmd);
    static CGbPtzCommand *CreateNew(const MkGbPtzCommandType &CmdType, Uint8 Param1, Uint8 Param2, Uint8 Param3);

    const MkGbPtzCommandType& GetCmdType() const { return m_CmdType; }
    Uint8 GetParam1() { return m_Param1; }
    Uint8 GetParam2() { return m_Param2; }
    Uint8 GetParam3() { return m_Param3; }
private:
    MkGbPtzCommandType              m_CmdType;
    Uint8                           m_Param1;
    Uint8                           m_Param2;
    Uint8                           m_Param3;
};

#endif

